Modern computer programs are typically written in a high-level programming language. A high-level programming language allows data structures and algorithms in a computer program to be expressed in a form that can be easily read and understood by a human programmer. A software tool, called a “compiler,” can translate a computer program written in a high-level programming language into a set of low-level machine instructions that can be executed by a computer's microprocessor. In the context of this translation, the program written in the high-level programming language is called the “source code.” The set of low-level machine instructions is called “object code.” In practice, a program typically includes multiple source code files from which a number of object files can be derived. These multiple object files and various libraries that include standard routines can be linked by a “linker” to create a single executable program. The executable program can then be executed on a computer.